﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace SlotRacer.Library.Controller
{
    public abstract class Base
    {
        protected int trackMinTime = 0;
        protected int trackMaxTime = 0;
        protected int trackSections = 10;

 //       public event EventHandler<EventArgs> HandleChange;

        // Returns a unique GUID for this Slot-Car Controller system
        public abstract Guid Id { get; }

        // Returns common readable name for this Slot-Car Controller system
        public abstract String Name { get; }

        // Returns version for this Slot-Car Controller system
        public abstract Version Version { get; }

        // Starts processing input/output for this Slot-Car Controller system
        public abstract bool Connect();

        // Stops processing input/output for this Slot-Car Controller system
        public abstract bool Disconnect();
    }
}
